﻿using K9Nano.Application.Dtos;

namespace K9Nano.Application.Authentication;

public class UserDto<TKey> where TKey : IEquatable<TKey>
{
    public TKey Id { get; set; }
    public string Username { get; set; }
    public string Name { get; set; }
    public string? Phone { get; set; }
    public string? Email { get; set; }
    public string? AvatarUrl { get; set; }
    public bool IsEnabled { get; set; }
    public TKey CreatedBy { get; set; }
    public string CreatorName { get; set; }
    public DateTime CreatedAt { get; set; }
}

public class UserDto : UserDto<long>, IOrganizationDto
{
    public long? OrganizationId { get; set; }
    public string? OrganizationName { get; set; }
}